import Vue from 'vue'
import VueI18n from 'vue-i18n'
import Element from 'element-ui'
Vue.use(VueI18n)

// 导入我们自己写的语言包
import en from './lang/en'
import ja from './lang/ja'
import zh from './lang/zh'

// 导入饿了么ui里的语言包
import elEn from 'element-ui/lib/locale/lang/en'
import elJa from 'element-ui/lib/locale/lang/ja'
import elZh from 'element-ui/lib/locale/lang/zh-CN'

// 准备翻译的语言环境信息
// 环境信息名字必须叫messages
// 就是准备有哪些语言包的地方就叫环境信息
const messages = {
  // 用en作为key标识为英文
  // 每套环境里的键要保持一致，这样才能切换语言时都能翻译上
  // 规范就是英文叫en中文叫zh日文叫ja法语叫fr、德语叫de
  en: {
    // 包含自己写的en，也要包含饿了么里的en
    ...en,
    ...elEn
  },
  // 用ja标识为日文
  ja: {
    ...ja,
    ...elJa
  },
  // 中文
  zh: {
    ...zh,
    ...elZh
  }
}

// 通过选项创建 VueI18n 实例
// 你要用它肯定要实例化对象
const i18n = new VueI18n({
  locale:  localStorage.getItem('lang') || 'zh', // 设置默认语言，写ja代表默认为日文
  messages // 设置用哪个语言包配置
})

// 注册element-ui里的语言包
Vue.use(Element, {
  i18n: (key, value) => i18n.t(key, value)
})

// 暴露出对象
export default i18n
